A flash memory device is a particular type of E2PROM (Electrically Erasable and Programmable Read-Only Memory), which is used to store information that must be preserved even when a power supply is off; the flash memory is erased in blocks instead of one bit at a time. This results in a very simple structure of the flash memory, which can be manufactured at low cost and with high density. As a consequence, the flash memory is well suited to a number of end-product applications, such as Personal Computers (PCs), cellular phones, automotive devices, digital still cameras, and the like.
The flash memory includes a matrix of memory cells; typically, the matrix is partitioned into several sectors, which may be erased individually. An additional miniature matrix is often used to store configuration information in a permanent way. For example, the miniature matrix implements a (non-volatile) protection register for the sectors of the matrix.
The configuration of the protection register identifies which sectors are locked. A reading operation may be performed on every sector; however, an erase operation or a program operation is only allowed on the unlocked sectors. This mechanism makes it possible to protect the matrix from an undesired erasing and/or programming of the memory cells, thereby preventing any loss of data stored in the flash memory.
The configuration of the protection register is updated overriding its content with a new value. This operation involves the erasure of the whole protection register; the memory cells required to reach the new value are then programmed.
A drawback of the solution described above is that every updating of the protection register necessitates both an erase operation and a program operation. As a consequence, the update operation is (relatively) slow. During this operation all the functional units of the flash memory are busy, so that no other operation can be performed on the matrix.
Moreover, the memory cells of the protection register are subjected to an electrical stress during each erase and program operation; after repeated cycles of updating, this may cause loss of data stored in the protection register.
Accordingly what is needed is a structure to overcome the problems encountered in the prior art for updating a block of memory cells in a flash memory device.